#ifndef DATABASEFUNCTION_H
#define DATABASEFUNCTION_H
#include <QString>
#include <QSqlQuery>
#include <QCryptographicHash> // md5加密的库
class DatabaseFunction
{
public:
    DatabaseFunction();
    QSqlQuery searchInfoByTrainNum(const QString&);
    QSqlQuery searchSubInfoByTrainNum(const QString&);
    QSqlQuery searchInfoByStation(const QString&,const QString&);
    QSqlQuery searchAllInfoByTrainNum(const QString&);
    QSqlQuery searchAllInfoByStation(const QString&,const QString&);
    QSqlQuery getBuyInfo(const QString&);
    QSqlQuery getPayOrdering(const QString&);
    QSqlQuery getUnpayOrdering(const QString&);
    QSqlQuery getPersonalInfo(const QString&);
    QString getPrice(const QString&);
    QSqlQuery getTrainAndIncome();

    bool delUnpayOrdering(const QString&);
    bool payUnpayOrdering(const QString&);
    bool returnOrdering(const QString&);
    bool updatePersonalInfo(const QString&,const QString&,const QString&,const QString&,const QString&);
    bool isInfoComplete(const QString&);
    bool writeIncomeDB(const QString&,const int&);
    bool desIncomeDB(const QString&,const int&);
    bool isTicketsEnough(const QString&,const QString&,const QString&);
    void returnLeftTickets(const QString&,const QString&,const QString&);
    void minusLeftTickets(const QString&,const QString&,const QString&);

private:
    QString sql;
    QSqlQuery result;

};

#endif // DATABASEFUNCTION_H
